package telas.managedBeans;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import business.cotacao.Cotacao;
import business.cotacao.Item;
import business.produto.Produto;
import business.sistema.IObjetoSistema;

public class TelaPesquisa
{
	private String filtro;
	private List<IObjetoSistema> produtos = new ArrayList<IObjetoSistema>();
	private Cotacao cotacao;
	private Item itemSelecionado;
	
	public void setFiltro(String filtro)
	{
		this.filtro = filtro;
	}

	public String getFiltro()
	{
		return filtro;
	}
	
	public List<IObjetoSistema> getProdutos()
	{
		return produtos;
	}

	public void setProdutos(List<IObjetoSistema> produtos)
	{
		this.produtos = produtos;
	}

	public String pesquisar()
	{
		StringBuilder filtro = new StringBuilder(" 1 = 1 ");
		
		filtro.append(" AND UPPER(nome) LIKE '%" + getFiltro().toUpperCase() + "%'");
		
		produtos = new Produto().obterTodosPorFiltro(filtro.toString());
		
		if (produtos == null)
		{
			produtos = new ArrayList<IObjetoSistema>();
		}
		
		return null;
	}

	public void setCotacao(Cotacao cotacao)
	{
		this.cotacao = cotacao;
	}

	public Cotacao getCotacao()
	{
		if(cotacao == null)
		{
			cotacao = new Cotacao();
			cotacao.setDataCadastro(new Date());
		}
		
		return cotacao;
	}
	
	public void novaCotacao()
	{
		cotacao = new Cotacao();
	}

	public void setItemSelecionado(Item itemSelecionado)
	{
		this.itemSelecionado = itemSelecionado;
	}

	public Item getItemSelecionado()
	{
		return itemSelecionado;
	}
	
	public void setNovoItem(Produto produto)
	{
		itemSelecionado = new Item();
		
		itemSelecionado.setProduto(produto);
		itemSelecionado.setValor(produto.getValor());
	}
	
	public void salvarItemSelecionado()
	{
		getCotacao().addItem(itemSelecionado);
	}
}
